using DataType.CustomEnumType;
using System.Collections.Generic;

namespace DataType.JudgeResults
{
    public class SendMsgJudgeResult : IJudgeResult
    {
        private ActionType action_type;
        private int obj_id;
        private int receiver_id;
        private bool is_success;
        private bool is_actionfeasible;
        private float remaining_transfer_time;
        private int receive_num_packets;
        private List<int> route;

        public int ObjID => obj_id;

        public ActionType ActionType => action_type;

        public bool IsSuccess => is_success;

        public bool IsActionFeasible => is_actionfeasible;

        public int ReceiverID => receiver_id;

        public float RemainingTransferTime { get => remaining_transfer_time; set => remaining_transfer_time = value; }

        public int ReceiveNumPackets { get => receive_num_packets; set => receive_num_packets = value; }

        public List<int> Route { get => route; set => route = value; }

        public SendMsgJudgeResult(ActionType action_type, int obj_id, int reciever_id, bool is_success, bool is_actionfeasible, float remaining_transfer_time, int receive_num_packets, List<int> route)
        {
            this.action_type = action_type;
            this.obj_id = obj_id;
            this.receiver_id = reciever_id;
            this.is_success = is_success;
            this.is_actionfeasible = is_actionfeasible;
            this.remaining_transfer_time = remaining_transfer_time;
            this.receive_num_packets = receive_num_packets;
            this.route = route;
        }
    }
}